package com.tanhua.dubbo.server.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.bson.types.ObjectId;
import org.springframework.data.mongodb.core.mapping.Document;

import java.io.Serializable;
import java.util.List;


// 该类用于对刚刚发布的动态进行强化封装.
@Data
@NoArgsConstructor
@AllArgsConstructor
@Document(collection = "moments")
public class Moments implements Serializable {
	private String id;
	private String nickname; //昵称
	private Long userId; //发布人id
	private Long createDate; //发布时间
	private List<String> medias;
	
	// 动态的审核状态值:
	// 审核状态，1为待审核，2为自动审核通过，3为待人工审核，4为人工审核拒绝，5为人工审核通过，6为自动审核拒绝
	private String state;
	
	private String text;
	private Integer reportCount; //举报数量
	private Integer likeCount; //点赞数量
	private Integer commentCount; //评论数量
	private Integer forwardingCount; //转发数
	
	// 将publish的字段要全部包含进来,后台人工审核的时候,更改状态为通过之后,可以直接从moment中取出publish数据进行三表发布操作
	
	private String locationName; // 位置名称
	private String latitude; // 纬度
	private String longitude; // 经度
	private List<Long> notSeeList; // 不给谁看列表
	private List<Long> seeList; // 部分可见列表
	private Integer seeType; // 谁可以看，1-公开，2-私密，3-部分可见，4-不给谁看
	private Long pid;  // Long类型的id，用于推荐引擎使用
	private ObjectId oid; // publish的主键ID
}
